#include"ProcessPool.hpp"
#include"Task.hpp"
//////////////////////////////////////////////////////////////////////////////////////////////
//我们自己为master
int main(int argc, char *argv[]) 
{
  if (argc != 2) //命令行参数有两个，一个为自身程序另一个为个数
  {
    Usage(argv[0]);
    return UsageError;
  }

  //记录需要的管道数
  int num = std::stoi(argv[1]);

  ProcessPool *pp = new ProcessPool(num, Worker);

  // 1.初始化进程池
  pp->InitProcessPoll();

  // 2.派发任务
  pp->DispathTasks();

  // 3.退出进程池
  pp->CleanProcessPoll();

  delete pp;
//   //再组织
//   std::vector<Channel> channels;

//   // 1.初始化进程池
//   InitProcessPoll(num, channels, Worker);

//   // 2.派发任务
//   DispathTasks(channels);

//   // 3.退出进程池
//   CleanProcessPoll();

//   //   //测试管道vector
//   //   DebugPrint(channels);
//   //   sleep(50);
//   // sleep(100);

  return 0;
}
//////////////////////////////////////////////////////////////////////////////////////////////
